// 选择排序。相对来说最简单的排序方式，每次只需依次找到剩余待排元素中的最小元素并放到对应位置

export function selectSort(arr: number[]): number[] {
    for (let i = 0; i < arr.length; i++) {
        let lessMinIndex = i;// 剩余待排元素中的最小元素索引
        for (let j = i + 1; j < arr.length; j++) {
            if (arr[j] < arr[lessMinIndex]) {
                lessMinIndex = j;
            }
        }
        // 元素交换
        [arr[i], arr[lessMinIndex]] = [arr[lessMinIndex], arr[i]];
    }
    return arr;
}